# 字符串

字符串方法,都不会改变原始值!!!

var str="hello world";

<!-- 查找 -->
str[1]                      //e ie8+,返回给定位置的字符 (只读方法,赋值无效)
str.charAt(1)               //e 返回给定位置的字符
str.charCodeAt(1)           //101 返回给定位置字符的Unicode编码
String.fromCharcode(code)   //将Unicode编码转为字符,与 charCodeAt 相反
str.indexOf(str1[,start])   //返回字符(串)首次出现的位置,未查到返回-1,从左向右查 (lastIndexOf是从右向左)(参数只能是字符串,不能是正则)
str.match(String/Reg)       //返回存放匹配结果的数组 (参数可为字符串或正则)  Reg 尽量带着 g 标识,否则获得数据比较怪异
str.search(String/Reg)      //返回匹配字符(串)首次出现的位置,未查到返回-1 (参数是字符串或正则) 会忽略 Reg 中的 g,总是返回首次出现的位置

<!-- 拼接 -->
str.concat(str1[,str2 ...]) //返回拼接后的字符串

<!-- 截取 -->
str.slice(start[,end])      //返回截取字符串 (参数为负数时,从结尾开始,这是与substring的唯一区别)
str.substring(start[,end])  //返回截取字符串 (参数为负数时,从0开始,这是与slice的唯一区别)
str.substr(start[,length])  //返回截取字符串 (length为负时,返回空)

<!-- 替换 -->
str.replace(str1/Reg, str2) //返回替换后的字符串 (第一个参数是查找的字符串或正则,第二个参数是要替换的字符串)

<!-- 转数组 -->
str.split(separator[,len])    //返回分隔后的数组 (第一个参数是分隔符,可以是字符串或正则,第二个参数可选,是数组大小)

<!-- 大小写 -->
str.toLowerCase()           //返回转为小写的字符串
str.toUpperCase()           //返回转为大写的字符串

<!-- 去空格 -->
str.trim()                  //返回删除首末空格的字符串

<!------------------------ ES6 新增 ------------------------->

str.includes(str1[,start])      //返回布尔值,表示是包含参数字符串 (第二个参数表示开始搜索位置)
str.startsWith(str1[,start])    //返回布尔值,表示参数字符串是否在开头 (第二个参数表示开始搜索位置)
str.endsWith(str1[,end])        //返回布尔值,表示参数字符串是否在结尾 (第二个参数表示结束搜索位置,即只在 end 之前搜索)
str.repeat(n)                   //返回重复n次的字符串
str.padStart(len, str1)         //返回在头部补全的字符串 (len为补全后长度,str1为用于补全的字符串)
str.padEnd(len, str1)           //返回在尾部补全的字符串 (len为补全后长度,str1为用于补全的字符串)

# 数组

⭐️表示该方法会改变原数组,称为“变异方法”;其它方法不会改变原数组,称为“非变异方法”

var arr = ['a', 'b', 'c', 'd', 'e']

<!-- 增、删、改、查 -->
arr[1]                      //查询、读取
arr[5] = 'e'                //增加
arr[1] = 'm'                //修改
arr.indexOf(item[,start])   //返回元素首次出现的位置,未查到返回-1,从左向右查 (lastIndexOf是从右向左)
arr.push('xx')              //尾部插入参数字符串,返回数组新的长度,会改变原数组⭐️
arr.pop()                   //尾部删除一个元素,返回删除的元素,会改变原数组⭐️
arr.unshift('xx')           //头部插入参数字符串,返回数组新的长度,会改变原数组⭐️
arr.shift()                 //头部删除一个元素,返回删除的元素,会改变原数组⭐️
arr.sort()                  //返回排序后的数组 (转换成ASCII码进行对比),会改变原数组⭐️
arr.reverse()               //返回顺序颠倒的数组,会改变原数组⭐️
arr.splice(start,deleteNum,…items)    //数组万能方法(插入、删除、替换),返回删除的元素,会改变原数组⭐️
arr.slice(start[,end])                //返回子数组(slice(0)可实现复制数组)

<!-- 转字符串 -->
arr.join([separator])                 //返回拼接后的字符串,分隔符参数可选
arr.toString()                        //返回逗号拼接的字符串

<!-- 拼接 -->
arr.concat(arr1[,arr2 ...])           //返回拼接后的数组

arr.every(function)         //返回布尔值,每一项都符合function,则为true,否则false
arr.some(function)          //返回布尔值,只要有符合function的项,则为true,否则false
arr.filter(function)        //返回符合function的新数组
arr.flat(depth)             //展开多维数组(depth为展开深度,默认为1),返回新数组 注:arr.flat()可删除空元素
arr.flatMap(function)       //展开多维数组(depth为1),并操作每个元素,返回新数组
arr.forEach(function)       //遍历每个元素,无返回值
arr.map(function)           //返回每个元素执行function后的新数组
arr.reduce(function)        //依次遍历每个元素,执行function(累计器,当前元素),返回单个值

Array.isArray(arr)          //判断arr是不是数组,返回布尔值

<!------------------------ ES6新增 ------------------------->

arr.copyWithin(target[,start][,end])  //读取start至end的元素,从target开始替换元素,返回新数组,会改变原数组⭐️
arr.find(function)          //返回第一个符合function条件的元素,若无则返回undefined
arr.findIndex(function)     //返回第一个符合function条件的元素位置,若无则返回-1
arr.includes(item[,start])  //返回布尔值,表示是否包含某元素 (第二个参数表示开始搜索位置)
arr.fill(item[,start][,end])//用给定的元素item,填充数组的start至end位置,会改变原数组⭐️
arr.keys()        //遍历数组,返回元素为索引值的可遍历对象
arr.values()      //遍历数组,返回元素为元素值的可遍历对象
arr.entries()     //遍历数组,返回元素为键值对的可遍历对象

Array.from(obj)               //用于将“类数组”、可遍历对象转换为数组
Array.of(item1,item2,...)     //用于将一些元素,组装成数组
最后更新时间: 3/28/2021, 9:04:52 PM